#ifndef ___fat32_transaccionB4_cerrar_archivo

#define ___fat32_transaccionB4_cerrar_archivo 1

#include "f32_mto.c"

#include "f32_st24.c"

void fat32tr_cerrar_archivo(unsigned long long);
int fat32ctr_cerrar_archivo(FAT32_PARAMS_CREACION_TRANSACCION);
int fat32etr_cerrar_archivo(FAT32_PARAMS_TRANSACCION);

void fat32tr_cerrar_archivo (unsigned long long descriptor) {
  fat32_crear_transaccion(&fat32ctr_cerrar_archivo, &descriptor, sizeof(unsigned long long));
}

int fat32ctr_cerrar_archivo (FAT32_PARAMS_CREACION_TRANSACCION) {
  *datos = malloc(sizeof(unsigned long long));
  *((unsigned long long *) (*datos)) = *((unsigned long long *) datosIniciales);
  *handler = &fat32etr_cerrar_archivo;
  return 0x0100;
}

int fat32etr_cerrar_archivo (FAT32_PARAMS_TRANSACCION) {
  unsigned long long * descriptor = *datos;
  switch (estado) {
  case 1:
    free(descriptor);
    return 0;
  default:
    estado = 0x0100 + fat32st_cerrar_archivo(estado - 0x0100, numeroTransaccion, *descriptor);
    if (estado == 0x0100) return 1;
    return estado;
  }
}

#endif